#ifndef __C_BASE_SCENE_H_INCLUDED__
#define __C_BASE_SCENE_H_INCLUDED__
//#include "irrMonitor.h"
//#include "irrList.h"
//#include "irrMap.h"
//#include "irrTypes.h"
//#include "IGUIElement.h"
#include "IGameSceneManager.h"
#include "IGameScene.h"
#include "SUserAction.h"
#include "irrList.h"
//#include "ISceneNode.h"
namespace game
{
	class CBaseScene : public game::scene::IGameScene
	{
	public:
		  
		//! Destructor	
		virtual ~CBaseScene(); 
		
		//! Default constructor	
		CBaseScene(scene::IGameSceneManager* gameSceneManager); 

		virtual void establishScene();

		virtual void onNetworkManagerDisconneted();

		virtual bool onNetworkRequest();

		virtual bool onUserAction(SUserAction action);

		virtual scene::IGameSceneManager* getGameSceneManager();

		virtual void addDynamicSceneObject(scene::IDynamicSceneObject* sceneObj); 


	protected:
		CBaseScene();
		
		virtual void establishControls();

		virtual void establishObjects();
	
		bool Established;

		scene::IGameSceneManager* GameSceneManager;

		irr::core::list<scene::IDynamicSceneObject*> DynamicObjects;

	private:


//	private:
//
//		game::core::irrMonitor* ActionsLocker;
//		irr::core::list<irr::gui::IGUIElement*> Controls;
//		irr::core::map<u32, irr::scene::ISceneNode*> Nodes;
	};
}
//
#endif